/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package upc.epe.dw.daoImp;

import java.util.List;
import upc.epe.dw.DTO.FacturaDTO;
import upc.epe.dw.dao.FacturaDao;
import javax.sql.DataSource;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import upc.epe.dw.Conexion.Conexion;

public class FacturaDaoImp implements FacturaDao{
 
    
    
    public List<FacturaDTO> listadoUsuarios() throws SQLException{
       
     Conexion cn = new Conexion();
     DataSource ds = cn.Conexion();      
     PreparedStatement ps = null;
     Connection con = null;
     List<FacturaDTO> listaUsuario = new ArrayList<FacturaDTO>();
     FacturaDTO factura = new FacturaDTO();
     ResultSet rs = null;
      try{
            con = ds.getConnection();
            StringBuffer strbQuery = new StringBuffer();
            strbQuery.append("SELECT C.NOMCLI ||' '|| C.APECLI AS PUBLICO, "); 
            strbQuery.append("R.DESRESE DESCRIPCION, R.PRERESE PRECIO "); 
            strbQuery.append("FROM CLIENTE C,RESERVA R "); 
            strbQuery.append("WHERE C.CODCLIENTE = R.CODRESERVA "); 
            ps = con.prepareStatement(strbQuery.toString());
            rs = ps.executeQuery();
 
            while (rs.next()) {
                factura = new FacturaDTO();
		factura.setPublico(rs.getString("PUBLICO"));
                factura.setDescripcion(rs.getString("DESCRIPCION"));
                factura.setPrecio(rs.getString("PRECIO"));
                factura.setTotalcargo(rs.getString("PRECIO"));
                listaUsuario.add(factura);
	    }
             
        }catch(SQLException e){
             System.out.println("Error: "+e.getMessage());             
        }  
        finally
        {
          try
          {
            if (ps != null) ps.close();
            if (rs != null) rs.close();
          }
          catch (Exception ee){
            System.out.println("Error: " + ee.getMessage());
            System.out.println("DaoConsultarCategoria.listarCategoria() - Cerrando cursores...");
            
          }       
        }
        return listaUsuario;
    }
}
